Online mass storage facilities that provide real-time performance are becoming essential components of emerging safety-critical systems, such as, for example, avionics systems. Such systems typically need to acquire and process large amounts of data. In addition, such systems typically need to decouple the producers and consumers of the information to be processed. These systems have a variety of storage access requirements ranging from guaranteed hard, real-time access to critical data to soft, non-real time access to other, less critical types of stored data.
As embedded safety-critical systems have become increasingly sophisticated and data-intensive, it has becomes necessary for task software system components to access data from bulk storage devices, for example disk drives, CD/DVD drives, flash memory, as well as any other non-volatile storage device. Such exemplary bulk storage devices may be used to store flight data logs in a continuous manner, to hold flight planning information, and to hold map data, to name a few typical applications thereof. Efficient storage and access to data on such bulk storage devices require the use of file system software, analogous to file systems that are found in traditional operating systems (OS). However, unlike these traditional OS file systems, the file systems used in safety critical, real-time embedded systems must guarantee that the file operations, specifically file operations that access data stored on the mass storage devices, be completed by either explicitly or implicitly specified time deadlines for the requested file operation.